#include <bits/stdc++.h>
using namespace std;

// #define ONLINE_JUDGE

#ifndef ONLINE_JUDGE
#define dbg(x...)                             \
	{                                         \
		cerr << "\033[32;1m" << #x << " -> "; \
		err(x);                               \
	}
void err()
{
	cerr << "\033[39;0m" << endl;
}
template <typename T, typename... A>
void err(T a, A... x)
{
	cerr << a << ' ';
	err(x...);
}
#else
#define dbg(...)
#endif

typedef long long LL;

const int N = 2e5 + 50;

char s[N], t[N];

int n, m, k;

int cnt[2][4];

void doit(char s[], int i, int cnt[])
{
	// memset(cnt, 0, 4 * 4);

	if (s[i] == 'L')
		++cnt[0];
	else if (s[i] == 'R')
		++cnt[1];
	else if (s[i] == 'U')
		++cnt[2];
	else
		++cnt[3];
}

int sx, sy;

bool check(pair<int, int> dat[], int tot, int st, int n) // 1 for left, 2 for right, pos for T, neg for A
{
	dbg("check");
	// left
	for (int i = 0; i < tot; ++i)
	{
		int v = dat[i].second;
		if (v > 0)
		{
			if (v == 2 && st < n)
				++st;
		}
		else
		{
			if (v == -1)
				--st;
			if (st <= 0)
			{
				dbg("left");
				return false;
			}
		}
	}
	// right
	for (int i = 0; i < tot; ++i)
	{
		int v = dat[i].second;
		if (v > 0)
		{
			if (v == 1 && st > 1)
				--st;
		}
		else
		{
			if (v == -2)
				++st;
			if (st > n)
			{
				dbg("right");
				return false;
			}
		}
	}
	return true;
}

int trans(char ch)
{
	if (ch == 'L' || ch == 'U')
		return 1;
	else
		return 2;
}

int main(int argc, char const *argv[])
{
	scanf("%d%d%d", &n, &m, &k);
	scanf("%d%d", &sx, &sy);
	scanf("%s%s", s, t);

	static pair<int, int> dat[N << 2];
	static int dcnt;
	dcnt = 0;
	for (int i = 0; i < k; ++i)
	{
		if (s[i] == 'L' || s[i] == 'R')
		{
			int v = trans(s[i]);
			dat[dcnt++] = make_pair(i << 1, -v);
		}
		if (t[i] == 'L' || t[i] == 'R')
		{
			int v = trans(t[i]);
			dat[dcnt++] = make_pair(i << 1 | 1, v);
		}
	}
	bool ans = true;
	ans = ans && check(dat, dcnt, sy, m);
	

	dcnt = 0;
	for (int i = 0; i < k; ++i)
	{
		if (s[i] == 'U' || s[i] == 'D')
		{
			int v = trans(s[i]);
			dat[dcnt++] = make_pair(i << 1, -v);
		}
		if (t[i] == 'U' || t[i] == 'D')
		{
			int v = trans(t[i]);
			dat[dcnt++] = make_pair(i << 1 | 1, v);
		}
	}
	ans = ans && check(dat, dcnt, sx, n);

	if (ans) puts("YES");
	else puts("NO");
	return 0;
}